<template>
  <el-form-item v-show="isShow" prop="modbusAddress" label="Modbus地址">
    <el-input-number
      v-model="optionModel.modbusAddress"
      :min="0"
      :max="65535"
      :step="1"
      class="hide-spin-button"
      style="width: 100%"
    ></el-input-number>
  </el-form-item>
</template>

<script>
export default {
  name: 'ModbusAddressEditor',
  props: {
    designer: Object,
    selectedWidget: Object,
    optionModel: Object
  },
  computed: {
    isShow() {
      // 当组件为 number , 并且 type 为 userData 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'number' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }
      // 当组件为 switch , 并且 type 为 userData 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'switch' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }

      // 当组件为 switch , 并且 type 为 userData 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'switch' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }

      // 当组件为 slider , 并且 type 为 userData 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'slider' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }
      // 当组件为 progress , 并且 type 为 userData 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'progress' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }


      // 当组件为 text , 并且 type 为 modbus 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'text' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }

      // 当组件为 led , 并且 type 为 modbus 时，不显示
      if (
        this.selectedWidget &&
        this.selectedWidget.type === 'led' &&
        this.optionModel.type === 'userData'
      ) {
        return false
      }

      return true
    }
  }
}
</script>

<style scoped></style>
